home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trusted Irix /B 4.0.4
/
Trusted-Irix B-4.0.1.iso
/
dist
/
eoe1.idb
/
usr
/
include
/
sys
/
fs
/
export.h.z
/
export.h
Wrap
C/C++ Source or Header
|
1992-04-03
|
2KB
|
77 lines
/* @(#)export.h 1.6 D/NFS */
/* @(#)export.h 1.4 88/02/08 SMI */
/*
* exported vfs flags.
*/
#ifndef EX_RDONLY
#define EX_RDONLY 0x01 /* exported read only */
#endif
#define EX_RDMOSTLY 0x02 /* exported read mostly */
#define EX_NOHIDE 0x04 /* visible from upper exported fs */
#define EX_WSYNC 0x08 /* write synchronously to disk */
#define EX_ALLFLAGS 0x0f
#define EXMAXADDRS 256 /* max number in address list */
struct exaddrlist {
unsigned naddrs; /* number of addresses */
struct sockaddr *addrvec; /* pointer to array of addresses */
};
/*
* Associated with AUTH_UNIX is an array of internet addresses
* to check root permission.
*/
#define EXMAXROOTADDRS 256 /* should be config option */
struct unixexport {
struct exaddrlist rootaddrs;
};
/*
* The export information passed to exportfs()
*/
struct export {
int ex_flags; /* flags */
int ex_anon; /* uid for unauthenticated requests */
int ex_auth; /* switch */
union {
struct unixexport exunix; /* case AUTH_UNIX */
} ex_u;
struct exaddrlist ex_writeaddrs;
};
#define ex_unix ex_u.exunix
#ifdef _KERNEL
/*
* Closed hash table of pointers into exaddrlist's addrvec array.
*/
struct exaddrhashtable {
unsigned tablesize; /* physical size of table */
unsigned hashmask; /* strength-reduced division hash */
struct sockaddr **table; /* pointers into addrvec */
struct sockaddr **endtable; /* one beyond last table element */
};
#define exaddrhash(ht, sa) \
(&(ht)->table[((struct sockaddr_in *)(sa))->sin_addr.s_addr \
& (ht)->hashmask])
/*
* A node associated with an export entry on the list of exported
* filesystems.
*/
struct exportinfo {
struct export exi_export;
fsid_t exi_fsid;
struct fid *exi_fid;
struct exaddrhashtable exi_roothash;
struct exaddrhashtable exi_writehash;
struct exportinfo *exi_next;
};
extern struct exportinfo *findexport();
#endif /* _KERNEL */